Exception এবং Error এর মধ্যে পার্থক্য

Java Technologies - Java.lang প্যাকেজ (Java.lang Package) - Throwable এবং এর Subclasses
247

Java তে Exception এবং Error দুটি অত্যন্ত গুরুত্বপূর্ণ ক্লাস যা Throwable ক্লাস থেকে ইন্সপায়ার হয়, এবং দুটি ভিন্ন ধরণের অবস্থা প্রতিনিধিত্ব করে যা প্রোগ্রাম চলাকালে ঘটে। এরা Java.lang প্যাকেজের অংশ। তবে, এগুলির মধ্যে কিছু মৌলিক পার্থক্য রয়েছে যা গুরুত্বপূর্ণ:

Throwable ক্লাস:

  • Throwable হল একমাত্র সুপারক্লাস যা Exception এবং Error ক্লাসের প্যারেন্ট। এটি Java তে এমন সমস্ত অবস্থা বা অবজেক্টের রুট ক্লাস যা ধরা (caught) বা ফেলে দেওয়া (thrown) হতে পারে।

Exception:

  • Exception হল এমন একটি অবস্থা যা প্রোগ্রামের সাধারণ কার্যকারিতায় ব্যাঘাত সৃষ্টি করে এবং যা সাধারণত ব্যবহারকারী বা প্রোগ্রামারের ত্রুটি দ্বারা ঘটতে পারে।
  • Exception-এর মধ্যে দুটি প্রধান শ্রেণী রয়েছে:
    1. Checked Exceptions: এ ধরনের এক্সসেপশনগুলি কম্পাইল টাইমে চেক করা হয় এবং সেগুলি থ্রো করার জন্য কোডে try-catch ব্লক ব্যবহার করা বা throws কিওয়ার্ড ব্যবহার করা বাধ্যতামূলক। উদাহরণ: IOException, SQLException, ClassNotFoundException
    2. Unchecked Exceptions (Runtime Exceptions): এই এক্সসেপশনগুলি রানটাইমে ঘটে এবং RuntimeException বা তার সাবক্লাস দ্বারা প্রতিনিধিত্ব করা হয়। উদাহরণ: NullPointerException, ArrayIndexOutOfBoundsException, ArithmeticException

Error:

  • Error হল এমন একটি অবস্থা যা সাধারণত Java ভার্চুয়াল মেশিন (JVM) বা সিস্টেমের অবস্থা দ্বারা ঘটতে পারে এবং এটি সাধারনত থ্রো করা হয় না। এটি প্রোগ্রামের নিয়ন্ত্রণের বাইরে থাকে এবং সাধারণত এটি Error বা তার সাবক্লাস দ্বারা প্রতিনিধিত্ব করা হয়।
  • Error-এর মধ্যে OutOfMemoryError, StackOverflowError এবং VirtualMachineError এর মতো গুরুতর সিস্টেম সম্পর্কিত ত্রুটিগুলি অন্তর্ভুক্ত থাকে।

Exception এবং Error এর মধ্যে পার্থক্য:

বৈশিষ্ট্যExceptionError
Definitionপ্রোগ্রামের কার্যক্রমে ব্যাঘাত সৃষ্টি করে এবং এটি catchableসিস্টেম সম্পর্কিত গুরুতর ত্রুটি যা সাধারনত catchable নয়।
Handlingসাধারণত try-catch ব্লক দ্বারা হ্যান্ডেল করা হয়।এটি সাধারণত হ্যান্ডেল করা সম্ভব নয়, এবং প্রোগ্রাম থামতে পারে।
SubclassException এবং তার উপশ্রেণী যেমন RuntimeException, IOExceptionError এবং তার উপশ্রেণী যেমন OutOfMemoryError, StackOverflowError
Causeপ্রোগ্রামিং ভুল, অস্বাভাবিক ইনপুট বা ব্যবহারকারীর ত্রুটি।JVM এর সমস্যা বা সিস্টেমের অবস্থা।
ExamplesNullPointerException, IOException, SQLException, ArithmeticExceptionOutOfMemoryError, StackOverflowError, VirtualMachineError
Recoverableবেশিরভাগ ক্ষেত্রে পুনরুদ্ধারযোগ্য, কোডের মাধ্যমে ঠিক করা যায়।এটি সাধারণত পুনরুদ্ধারযোগ্য নয়, সিস্টেম ক্র্যাশ ঘটাতে পারে।
Example Usageব্যবহারকারীর ভুল ইনপুট বা মিসিং ফাইলের কারণে ঘটে।JVM এর মেমরি বা স্ট্যাক সীমা অতিক্রম করার কারণে ঘটে।

Exception এর উদাহরণ:

public class ExceptionExample {
    public static void main(String[] args) {
        try {
            int result = 10 / 0;  // ArithmeticException will occur
        } catch (ArithmeticException e) {
            System.out.println("Error: " + e.getMessage());
        }
    }
}

আউটপুট:

Error: / by zero

এখানে, ArithmeticException একটি RuntimeException যা Unchecked Exception হিসেবে ধরা হয় এবং এটি try-catch ব্লক দ্বারা হ্যান্ডেল করা হয়েছে।

Error এর উদাহরণ:

public class ErrorExample {
    public static void main(String[] args) {
        try {
            // Creating a large array to simulate OutOfMemoryError
            int[] largeArray = new int[Integer.MAX_VALUE];
        } catch (Error e) {
            System.out.println("Error: " + e.getMessage());
        }
    }
}

আউটপুট:

Error: Java heap space

এখানে, OutOfMemoryError একটি Error যা JVM মেমরি সীমা অতিক্রম করার কারণে ঘটেছে। এটি সাধারণত হ্যান্ডেল করা সম্ভব নয় এবং প্রোগ্রামটি থামতে পারে।

  • Exception এমন একটি অবস্থা যা প্রোগ্রাম চলার সময়ে ঘটতে পারে এবং সাধারণত catchable হয়, অর্থাৎ এটি try-catch ব্লক ব্যবহার করে হ্যান্ডেল করা যায়।
  • Error সাধারণত সিস্টেমের অবস্থা বা JVM এর ত্রুটি দ্বারা ঘটে এবং এটি catchable নয়, সাধারণত এটি গুরুতর সমস্যা সৃষ্টি করে যা প্রোগ্রাম থামাতে পারে।
  • Java তে Exception-এর মধ্যে Checked এবং Unchecked ধরনের বিভাজন রয়েছে, তবে Error সাধারণত Unchecked থাকে এবং এটি গুরুতর সিস্টেম ত্রুটি নির্দেশ করে।
Content added By
Promotion
NEW SATT AI এখন আপনাকে সাহায্য করতে পারে।

Are you sure to start over?

Loading...